WWSTCERT-10247 Add pad19 dimmer driver#2762
WWSTCERT-10247 Add pad19 dimmer driver#2762JerryYang01 wants to merge 79 commits intoSmartThingsCommunity:mainfrom
Conversation
A profile of PAD19 (dimmer switch).
The edge driver of PAD19 for WWST certification.
greens
left a comment
There was a problem hiding this comment.
You should just be adding a sub-driver to the base driver, not adding a new driver in a folder under the base driver.
Here's an example from another partner of how this looks: https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/pull/2371/changes
|
Dear SmartThings Team,
Thank you for your review comments and guidance regarding our pull request.
We would like to seek clarification on the driver structure requirement.
Based on the feedback, it appears that we are expected to add our
implementation as a sub-driver under the existing base driver rather
than creating a separate driver.
Our original intention was to develop and maintain a dedicated Philio
Edge Driver under our company name. Could you please confirm whether,
for WWST certification submissions within the SmartThingsCommunity
repository, all device support must be integrated into the existing base
drivers as sub-drivers?
If maintaining a standalone Philio driver is not supported within this
repository, we would appreciate your advice on the recommended approach
for vendors who wish to publish and manage their own branded drivers
while still pursuing WWST certification.
Thank you for your clarification and support.
Best regards,
Jerry Yang
Steven Green 於 2026/2/11 上午 07:30 寫道:
***@***.**** requested changes on this pull request.
You should just be adding a sub-driver to the base driver, not adding
a new driver in a folder under the base driver.
Here's an example from another partner of how this looks:
https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/pull/2371/changes
—
Reply to this email directly, view it on GitHub
<#2762 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJSU2RL3K7R3XKEEN5SPUQ34LJSY7AVCNFSM6AAAAACUGCC4JSVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTOOBSGE2DSNZVG4>.
You are receiving this because you modified the open/close
state.Message ID:
***@***.***>
--
楊嘉慶
軟體設計部 經理
leaf
新北市新莊區中正路651之1號7樓
Tel: +886-2-2908-8952 ext:304
Fax: +886-2-2908-8652
http://philio-tech.com
leaf
|
|
@JerryYang01 based on the code you've included in this PR, it's not clear that you would gain anything by having a separate driver. Your device seems to behave according to the Z-Wave spec, and would be well covered by our base z-wave switch driver. Our base drivers are written so that most devices can integrate with just the addition of the device's fingerprint to the But also, if your intent was to have an all new driver, you would want it to be alongside |
|
Hi Steven :
Thank you for the detailed explanation and guidance. I understand your
point regarding the use of the base Z-Wave switch driver and the
benefits it provides in terms of maintainability and integration.
I’ll review the implementation and try modifying it by adding the device
fingerprint to the existing base driver instead of creating a separate
one. If I run into any issues or have further questions, I’ll follow up.
Thanks again for the clarification.
Best regards,
Jerry Yang
Steven Green 於 2026/2/12 上午 07:39 寫道:
@JerryYang01 <https://github.com/JerryYang01> based on the code you've
included in this PR, it's not clear that you would gain anything by
having a separate driver. Your device seems to behave according to the
Z-Wave spec, and would be well covered by our base z-wave switch
driver. Our base drivers are written so that most devices can
integrate with just the addition of the device's fingerprint to the
|fingerprints.yml| file. This is for our own east of maintainability,
but also to make it easy for partners such as yourselves.
But also, if your intent was to have an all new driver, you would want
it to be /alongside/ |zwave-switch| in the directory structure, not
under it.
--
楊嘉慶
軟體設計部 經理
leaf
新北市新莊區中正路651之1號7樓
Tel: +886-2-2908-8952 ext:304
Fax: +886-2-2908-8652
http://philio-tech.com
leaf
|
There was a problem hiding this comment.
+1 to Steven's feedback regarding the driver structure. Also be sure to remove the print() statements from this file.
| PARAMETERS = { | ||
| parameter1 = {parameter_number = 1, size = 1}, | ||
| parameter2 = {parameter_number = 2, size = 1}, | ||
| parameter3 = {parameter_number = 3, size = 1}, | ||
| parameter4 = {parameter_number = 4, size = 1}, | ||
| parameter5 = {parameter_number = 5, size = 1}, | ||
| parameter6 = {parameter_number = 6, size = 1} | ||
| } |
There was a problem hiding this comment.
these are intended to match up to preferences on the device profile, but your profile has none
There was a problem hiding this comment.
this is a duplicate of the existing switch-level
| - id: Philio/PAD19 | ||
| deviceLabel: PAD19 | ||
| manufacturerId: 0x013C | ||
| productType: 0x0005 | ||
| productId: 0x008A | ||
| deviceProfileName: philio-dimmer-switch |
There was a problem hiding this comment.
again, I think this fingerprint is the only change you actually need to include.
There was a problem hiding this comment.
all .lua files need to include our copyright and license statement
| local SwitchMultilevel = (require "st.zwave.CommandClass.SwitchMultilevel")({ version = 4 }) | ||
|
|
||
|
|
||
| -- print("DEBUG: philio-dimmer-switch/init.lua loaded") |
| ---- Refresh 指令函式(SmartThings Test Suite 必要) | ||
| local function refresh_cmd(driver, device, command) | ||
| -- print("DEBUG: PAD19 refresh_cmd called") | ||
|
|
||
| -- 取得目前開關狀態 | ||
| local switch_get = Basic:Get({}) | ||
| device:send(switch_get) | ||
|
|
||
| -- 取得目前dimmer的level | ||
| local switchlevel_get = SwitchMultilevel:Get({}) | ||
| device:send(switchlevel_get) | ||
| end |
| local function device_init(driver, device) | ||
| -- print("DEBUG: PAD19 device_init called") | ||
| end |
| local function device_added(driver, device) | ||
| -- print("DEBUG: PAD19 device_added - init state off") | ||
| device:emit_event(capabilities.switch.switch.off()) | ||
| device:emit_event(capabilities.switchLevel.level(0)) | ||
| -- print("DEBUG: PAD19 Initial switchlevel = 0") | ||
| end |
There was a problem hiding this comment.
the default base driver will read these values from the device on add, are you seeing some unacceptable delay here?
| -- NEW: 修正 driverSwitched 崩潰 | ||
| local function device_driver_switched(driver, device, event, args) | ||
| -- print("DEBUG: PAD19 driverSwitched - ignored") | ||
| end |
| -- 設置 Z-Wave 設備配置 | ||
| zwave_config = {} | ||
| -- zwave_config = {}, | ||
|
|
||
| -- 指定can_handle腳本, 讓上層可以先檢查這台Device是否能用這個子驅動控制,可以才載入 | ||
| -- can_handle = require("philio-dimmer-switch.can_handle") |
greens
left a comment
There was a problem hiding this comment.
add unit tests if you believe your device has unique behavior. see the tests directory for examples
This reverts commit 9a71417.
Add comments about aeotec doorbell siren bugs
The server will return `INVALID_IN_STATE` if `RemoveZone` is issued while there is an existing trigger for the given zone. The trigger should be removed first before attempting to remove the zone.
…ymbol - Fixed issue where grep would read files as binaries and fail to parse them, so forcing reading of them as a text file - Added copyright logo to regex for better coverage of copyright notice detection
…RT-10451), ZSE44 (WWSTCERT-10455) (SmartThingsCommunity#2794) * fingerprints for Zooz sensors: ZSE11, ZSE41, ZSE44 * removes redundant white space * cleanup * decimal -> hex
…mmunity#2820) audioRecording should only be included in the camera profile if the AUDIO feature of CAVSM is available and if the device supports the PushAvStreamTransport cluster (previously only the former was being checked).
update fingerprints pointing to specific ranges
…martThingsCommunity#2776) * initial commit * handle co value * complete driver with tests * removed unused variable * changes according to pr comments * pr comments changes
- Updated copyright on missing files and fixed missing newlines at EOF
…g01/SmartThingsEdgeDrivers into add-pad19-dimmer-driver
Check all that apply
Type of Change
Checklist
Description of Change
Summary of Completed Tests